Introduction to Oracle ADF
- Oracle ADF(Application Development Framework) is a state of the art technology to rapidly build an enterprise application. ADF is a mature J2EE development framework and many other products under Oracle Fusion Middleware stack are build upon ADF 11g.
- ADF provides a variety of inbuilt components that minimizes the need to write code allowing users to focus more on features and business aspects of the application. With WebCenter and SOA plugins, we can also integrate WebCenter Services and SOA into your application making it rich and extensible.
Oracle ADF Architecture
Oracle ADF implements MVC and further separates the model layer from the business services to enable service-oriented development of applications. The Oracle ADF architecture is based on four layers:
- The Business Services layer - provides access to data from various sources and handles business logic.
- The Model layer - provides an abstraction layer on top of the Business Services layer, enabling the View and Controller layers to work with different implementations of Business Services consistently.
- The Controller layer - provides a mechanism to control the flow of the Web application.
- The View layer - provides the user interface of the application.
Inclined to build a profession as Oracle ADF Training?
Then here is the blog post on, explore Oracle ADF Training
Oracle ADF Model Layer
This component of Oracle ADF provides users with a seamless solution to provide support and connections with common business service technologies including:
- JavaBeans
- XML
- CSV files
- Web services
- Enterprise JavaBeans session beans and JPA entities
Oracle ADF Model implements the JSR-227 service abstraction that is called “data control.” The data control abstracts the implementation technology of a business service by using standard metadata interfaces to describe the service’s operations and data collections and types involved. By using Oracle JDeveloper, a free integrated development environment that simplifies the development of Java-based applications by addressing the whole application lifecycle, a user can view the information as icons and drag and drop onto a page. JDeveloper then automatically creates the bindings from the page to the services. The ADF Model layer reads the information describing the data controls and data bindings from the necessary files and implements the connection between the user interface and the business service.
Overall, Oracle ADF’s architecture relies on four layers:
- Business Services- provides access to data from various sources and addresses business logic.
- Model Layer- provides an abstraction layer on top of the Business Services layer that enables the View and Control layers to function with different implementations of Business Services consistently.
- Controller Layer- offers a mechanism to control the flow of the web application.
- View Layer- Provides the user interface of the application.
Separating this application into layers simplifies the maintenance and reuse of these components across various applications.
Customization & Personalization
Oracle ADF provides solutions that fit the requirements for different users. Oracle ADF works with a MetaData Services (MDS) layer that offers application customization through two different implementation layers. The first layer is called “seeded customization” which refers to application-wide customization that would take place for anyone who has access to the application for a particular group. The other layer is “user customization” or “personalization” where the end-user assigns customizations according to their personal experience and is enforced via the MDS repository. Users can personalize the interface of their application such as re-ordering fields in a table. The “seeded” customization allows developers to implement modifications in business rules, page flows, page layouts, and other items in an XML format.
Oracle ADF Tutorial
Building Business Services
In an Oracle ADF application, we can consume different types of business services. This is possible because the ADF Model layer allows us to abstract the implementation of the underlying business services by providing a set of interfaces that describe their operations and data collections.
So the first step is to implement the business services using JPA. To do this we'll define the Java classes that represent the entities to manipulate. Specifically, we'll create the Person and Address classes.
We'll add the corresponding JPA annotations for modeling. Likewise, due to persistence will be performed into a NoSQL database, we'll add the @NoSQL annotation in each entity specifying DataFormatType.MAPPED as the value for the data format property. Recall that we use DataFormatType.MAPPED for each entity to its maps to a nested set of pairs <key, value>.
ADF Faces Rich Client (ADF Faces)
ADF Faces is a set of standard JavaServer Faces (JSF) components that have built-in AJAX functionality. What Is AJAX? AJAX is a combination of communication channels including asynchronous JavaScript, dynamic HTML, XML, and XmlHttpRequest. This combination of channels allows requests to be made to the server without re-rendering the page. Another benefit to ADF Faces is that it also provides components such as:
- Hierarchical data tables
- Tree menus
- In-page dialogs
- Accordions
- Dividers
- Sortable tables
ADF Faces also offers ADF Visualization components that are capable of rendering dynamic charts, graphs, gauges, and other graphics that provide a real-time view of underlying data.
Flexibility Unlike many other frameworks, Oracle ADF does not lock developers into a specific software vendor. The Oracle ADF run-time can be installed on different Java EE-compliant application servers and business services can connect to any SQL-92 compliant database. Oracle ADF also supports many technologies for each of the layers of the application and doesn’t dictate certain development styles. Along with ADF Faces,
Oracle ADF also supports other view technologies including:
- Apache MyFaces Trinidad
- Java Swing and ADF Swing
- ADF Mobile
- Microsoft Excel
Integrated Security When you’re developing anything, security should be at the forefront of your mind, right? Oracle ADF has built-in security implementation across its layers. As a developer, you can define users, roles, and assign authorizations at the business services layer, controller layer, or user interface (UI) layer. Oracle ADF provides security implementation based on Java Authentication and Authorization Services (JAAS). It enables applications to authenticate users and enforce authorization.
Integrated Support While other Java EE frameworks lack integrated support by development tools, Oracle JDeveloper eases users into the process. Oracle JDeveloper provides visual aids and a declarative approach to minimize the need to write framework code, making it the ideal tool for building Oracle ADF- based applications. By implementing the declarative development approach, it also decreases the learning curve for developers familiar with 4GL-style tools. If a user would like to use another integrated development environment, Oracle ADF’s allows them to do so with its built-in features provided in the Oracle Enterprise Pack for Eclipse packaging and relying on ADF’s support for the Java EE standards.
Mobile Application Development ADF also has the capability to build hybrid mobile applications, which utilize HTML, CSS, and Javascript in a WebView to render content, or native mobile apps, which are written in Java and compiled respectively for the chosen platforms. This allows the development of Android, iOS, or Windows mobile applications while maintaining a single code base.